package com.wayne.security.config;

import org.springframework.security.web.authentication.WebAuthenticationDetails;

import javax.servlet.http.HttpServletRequest;

/**
 * 自定义 detail 对象，扩展属性
 * 如果我们想扩展属性，只需要在 MyWebAuthenticationDetails 中再去定义更多属性，然后从 HttpServletRequest 中提取出来设置给对应的属性即可，这样，在登录成功后就可以随时随地获取这些属性了。
 */
public class MyWebAuthenticationDetails extends WebAuthenticationDetails {
  private boolean isPassed;
  public MyWebAuthenticationDetails(HttpServletRequest req) {
    super(req);
    String kaptcha = req.getParameter("kaptcha");
    String verify = (String)req.getSession().getAttribute("kaptcha");
    if (kaptcha !=null && verify != null && kaptcha.equals(verify)) {
      isPassed = true;
    }
  }

  public boolean isPassed() {
    return isPassed;
  }
}
